package com.mengniu.commerce.sync.api.domain;

import lombok.Data;

import java.util.List;

@Data
public class CreateRefundOrderModel extends ExtModel {

    /**
     * 业态编码
     */
    private String businessType;

    /**
     * 业态名称
     */
    private String businessTypeName;

    /**
     * 业务单元编码
     */
    private String businessUnitCode;

    /**
     * 业务单元名称
     */
    private String businessUnitName;

    /**
     * 买家账号
     */
    private String buyerAccount;

    /**
     * 快递单号
     */
    private String courierNo;

    /**
     * 收货详细地址
     */
    private String deliveryAddressDetail;

    /**
     * 快递公司名称
     */
    private String expressCompanyName;

    /**
     * 快递公司编码
     */
    private String expressCompanyNo;

    /**
     * 来源系统编码
     */
    private String fromSys;

    /**
     * 订单头备注
     */
    private String note;

    /**
     * 订单原因编码
     */
    private String orderReasonCode;

    /**
     * 原销售订单单号
     */
    private String originalOrderNo;

    /**
     * 邮编
     */
    private String postalCode;

    /**
     * 收货人名称
     */
    private String receiverName;

    /**
     * 收货人手机号
     */
    private String receiverPhone;

    /**
     * 收货市编码
     */
    private String receivingCityCode;

    /**
     * 收货市名称
     */
    private String receivingCityName;

    /**
     * 收货国家编码
     */
    private String receivingCountryCode;

    /**
     * 收货国家名称
     */
    private String receivingCountryName;

    /**
     * 收货区县编码
     */
    private String receivingDistrictCode;

    /**
     * 收货区县名称
     */
    private String receivingDistrictName;

    /**
     * 收货省份编码
     */
    private String receivingProvinceCode;

    /**
     * 收货省份名称
     */
    private String receivingProvinceName;

    /**
     * 收货街道编码
     */
    private String receivingStreetCode;

    /**
     * 收货街道名称
     */
    private String receivingStreetName;

    /**
     * 应退金额
     */
    private String refundOrderAmount;

    /**
     * 售后单据明细
     */
    private List<RefundOrderItemRequest> refundOrderItemRequestList;

    /**
     * 订单类型编码
     */
    private String salesOrderType;

    /**
     * 来源单号
     */
    private String sourceOrderNo;

    /**
     * 来源系统原销售单号
     */
    private String sourceSalesOrderNo;

    /**
     * 店铺编码
     */
    private String storeCode;

    /**
     * 店铺名称
     */
    private String storeName;

    /**
     * 下单日期
     */
    private String sourceCreateTime;


    @Data
    public static class RefundOrderItemRequest extends ExtModel {

        /**
         * 产品编码
         */
        private String innerProductCode;

        /**
         * 产品名称
         */
        private String innerProductName;

        /**
         * 订单行备注
         */
        private String note;

        /**
         * 产品条码
         */
        private String productBarCode;

        /**
         * 销售数量
         */
        private Integer productQuantity;

        /**
         * 销售单位编码
         */
        private String salesUnitCode;

        /**
         * 销售单位名称
         */
        private String salesUnitName;

        /**
         * 子单号
         */
        private String sourceOrderItemNo;

        /**
         * 库存转换数量
         */
        private Integer stockConversionNum;

        /**
         * 常规总金额
         */
        private String totalAmount;

        /**
         * 常规单价
         */
        private String unitPrice;

        private String lineNum;
    }
}
